package org.darkforest.common.services;

import org.darkforest.model.PBundling;
import org.darkforest.vo.AjaxReturnData;

import java.util.List;

/**
 * Created by Administrator on 2016/1/13.
 */
public interface BundlingService {

    int deleteByPrimaryKey(Integer blId);

    int insert(PBundling record);

    int insertSelective(PBundling record);

    PBundling selectByPrimaryKey(Integer blId);

    int updateByPrimaryKeySelective(PBundling record);

    int updateByPrimaryKey(PBundling record);

    /**
     * 根据条件查询促销套餐
     * @param pBundling
     * @return
     */
    List<PBundling> findListByCondition(PBundling pBundling);

    /**
     * 根据条件查询促销套餐包含套餐内的商品
     * @param pBundling
     * @return
     */
    List<PBundling> findPBundlingListWithGoodsByCondition(PBundling pBundling);


    /**
     * 根据套餐ID查询套餐详情以及套餐内的商品
     * @param blId
     * @return
     */
    PBundling getBundlingWithGoodsById(Integer blId,Integer state);

    /**
     * 新增优惠套餐活动包含优惠的商品
     * @param pBundling
     * @return
     */
    AjaxReturnData addDiscountPackage(PBundling pBundling) throws Exception;


    /**
     * 根据blId删除优惠套餐以及对应的商品
     * @param
     * @param ids
     * @param url
     * @return
     */
    AjaxReturnData delBundlingBatch(Integer[] ids, String url) throws Exception;

    /**
     * 编辑后保存优惠套餐
     * @param pBundling
     * @return
     */
    AjaxReturnData doModifyBundling(PBundling pBundling) throws Exception;

    /**
     * 根据优惠套餐ID查询 该套餐内详细的商品信息
     * @param blId
     * @return
     */
    PBundling getBundlingWithGoodsDetailByBlId(Integer blId,Integer state);

    /**
     * 修改优惠套餐活动状态
     * @param blId
     * @param state
     * @param url
     * @return
     */
    AjaxReturnData updateBlState(Integer blId, Integer state, String url) throws Exception;
}
